home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-01 | 4.1 KB | 126 lines | [TEXT/MPS ] |
- {
- File: SCSIPlugin.p
-
- Contains: Family defined Plugin exports and data structures
-
- Version: Technology: xxx put the technology version here xxx
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- }
- {$IFC UNDEFINED UsingIncludes}
- {$SETC UsingIncludes := 0}
- {$ENDC}
-
- {$IFC NOT UsingIncludes}
- UNIT SCSIPlugin;
- INTERFACE
- {$ENDC}
-
- {$IFC UNDEFINED __SCSIPLUGIN__}
- {$SETC __SCSIPLUGIN__ := 1}
-
- {$I+}
- {$SETC SCSIPluginIncludes := UsingIncludes}
- {$SETC UsingIncludes := 1}
-
- {$IFC UNDEFINED __TYPES__}
- {$I Types.p}
- {$ENDC}
- {$IFC UNDEFINED __KERNEL__}
- {$I Kernel.p}
- {$ENDC}
- {$IFC UNDEFINED __SCSI__}
- {$I SCSI.p}
- {$ENDC}
-
- {$PUSH}
- {$ALIGN POWER}
- {$LibExport+}
-
- {$IFC FOR_SYSTEM8_PREEMPTIVE }
- {
- ************************************************************************
- Define entries to SIM routines
- ************************************************************************
- SIMInitInfo PB
- directions are for SCSIPluginInit call ( -> parm, <- result) */
- need to change this to PluginControlBlock •••
- }
-
- TYPE
- PluginControlBlockPtr = ^PluginControlBlock;
- PluginControlBlock = RECORD
- ioPBSize: UInt16; { <- size of SCSI_IO_PBs required for this SIM }
- oldCallCapable: UInt16; { <- true if this SIM can handle old-API calls }
- busID: UInt16; { <- bus number for the registered bus }
- simSlotNumber: SInt8; { <- Magic cookie to place in scsiHBASlotNumber (PCI) }
- simSRsrcID: SInt8; { <- Magic cookie to place in scsiSIMsRsrcID (PCI) }
- simRegEntry: Ptr; { -> The SIM's RegEntryIDPtr (PCI) }
- maxTargetID: UInt32; { <- max Target ID of this bus }
- initiatorID: UInt32; { <- comes from the NVRAM }
- scsiTimeout: UInt32; { <- bus time out period }
- scsiFlagsSupported: UInt32; { <- scsiFlags supported by this SIM }
- scsiSelectTimeout: SInt16; { <- selection time out period }
- scsiIOFlagsSupported: UInt16; { <- scsiIOFlags supported by this SIM }
- scsiDataTypes: UInt32; { <- scsiDataType supported by this SIM }
- { ••• need to remove the following declares ASAP plugin is ready }
- { SCSIPluginActionEntry scsiPluginAction; // address of SIM action routine }
- { SCSIPluginHandleBusEventEntry scsiPluginHandleBusEvent; }
- { SCSIPluginInitEntry scsiPluginInit; }
- END;
-
- { Define SIM calls passed into the family at initialize time }
- SCSIPluginActionEntry = ProcPtr; { PROCEDURE SCSIPluginActionEntry(VAR scsiPB: SCSI_PB); C; }
-
- SCSIPluginHandleBusEventEntry = ProcPtr; { PROCEDURE SCSIPluginHandleBusEventEntry(busEvent: UNIV Ptr); C; }
-
- SCSIPluginInitEntry = ProcPtr; { FUNCTION SCSIPluginInitEntry(VAR pcb: PluginControlBlock): OSStatus; C; }
-
-
- CONST
- kSCSIPluginVersion = $02019600; { date and version ••• temporary }
-
-
- TYPE
- SCSIPluginInfoPtr = ^SCSIPluginInfo;
- SCSIPluginInfo = RECORD
- version: UInt32;
- reserved1: UInt32;
- reserved2: UInt32;
- reserved3: UInt32;
- END;
-
- { plugin needs to export this structure }
- SCSIPluginDispatchTablePtr = ^SCSIPluginDispatchTable;
- SCSIPluginDispatchTable = RECORD
- header: SCSIPluginInfo;
- scsiPluginAction: SCSIPluginActionEntry; { address of SIM action routine }
- scsiPluginHandleBusEvent: SCSIPluginHandleBusEventEntry;
- scsiPluginInit: SCSIPluginInitEntry;
- END;
-
- PROCEDURE SCSIPluginAction(VAR scsiPB: SCSI_PB); C;
- PROCEDURE SCSIPluginHandleBusEvent(busEvent: UNIV Ptr); C;
- FUNCTION SCSIPluginInit(VAR pcb: PluginControlBlock): OSStatus; C;
- PROCEDURE SCSIFamMakeCallback(VAR req: SCSI_PB); C;
- FUNCTION SCSIFamBusEventForSIM(busID: UInt32; busEvent: UNIV Ptr): OSStatus; C;
- {$ENDC}
- {$ALIGN RESET}
- {$POP}
-
- {$SETC UsingIncludes := SCSIPluginIncludes}
-
- {$ENDC} {__SCSIPLUGIN__}
-
- {$IFC NOT UsingIncludes}
- END.
- {$ENDC}
-